<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<title>语义化标签</title>

<body>

        1 提升可访问性；

        2 SEO；

        3 结构清晰，利于维护；



    title：简短、描述性、唯一（提升搜索引擎排名）。搜索引擎会将title作为判断页面主要内容的指标，有效的title应该包含几个与页面内容密切相关的关键字，建议将title核心内容放在前60个字符中。
    <hn></hn>：h1~h6分级标题，用于创建页面信息的层级关系。对于搜索引擎而言，如果标题与搜索词匹配，这些标题就会被赋予很高的权重，尤其是h1。
    <header></header>：页眉通常包括网站标志、主导航、全站链接以及搜索框。也适合对页面内部一组介绍性或导航性内容进行标记。
    <nav></nav>：标记导航，仅对文档中重要的链接群使用。html5规范不推荐对辅助性页脚链接使用nav，除非页脚再次显示顶级全局导航、或者包含招聘信息等重要链接。
    <main></main>：页面主要内容，一个页面只能使用一次。如果是web应用，则包围其主要功能。
    <article></article>：包含像报纸一样的内容= =||是这么理解的，表示文档、页面、应用或一个独立的容器。article可以嵌套article，只要里面的article与外面的是部分与整体的关系。
    <section></section>：具有相似主题的一组内容，比如网站的主页可以分成介绍、新闻条目、联系信息等条块。
    <aside></aside>：指定附注栏，包括引述、侧栏、指向文章的一组链接、广告、友情链接、相关产品列表等。
    <footer></footer>：页脚，只有当父级是body时，才是整个页面的页脚。
    <small></small>：指定细则，输入免责声明、注解、署名、版权。只适用于短语，不要用来标记“使用条款”、“隐私政策”等长的法律声明。
    <strong></strong>：表示内容重要性。
    <em></em>：标记内容着重点（大量用于提升段落文本语义）。
    <mark>11</mark>：突出显示文本（yellow），提醒读者。
    <time></time>：标记时间。datetime属性遵循特定格式，如果忽略此属性，文本内容必须是合法的日期或者时间格式。 
    <address></address>：作者、相关人士或组织的联系信息（电子邮件地址、指向联系信息页的链接）。
    <del></del>：移除的内容。
    <ins></ins>：添加的内容。
    <code></code>：标记代码。包含示例代码或者文件名 （< &lt;  > &gt;）
    <progress></progress>：完成进度。可通过js动态更新value。
    <abbr></abbr>：解释缩写词。使用title属性可提供全称，只在第一次出现时使用就ok。
    <dfn></dfn>：定义术语元素，与定义必须紧挨着，可以在描述列表dl元素中使用。
    <blockquoto></blockquoto>：引述文本，默认新的一行显示。
    <q></q>：短的引述（跨浏览器问题，尽量避免使用）。

    <audio></audio>
    <video></video>
<!-- 
    <strong>1212</strong>
    <b>121212</b>
    <em>1212</em>
    <i>1111</i> -->
    
</body>
<script>
    var name = "Jake";
    obj = {
        name:"laoyu",
        getName: function(){
            console.log(this);
            return function(){
                console.log(this);
            }
        }
    }
    obj.getName()();  //laoyu   jake

    var c = 1;
    function test(){
        var c = 2;
        return function(){
            console.log(c)
        }
    }

    test()()


    function foo(x) {
    var tmp = 3;
    return function (y) {
    alert(x + y + tmp++);
    x.memb = x.memb ? x.memb + 1 : 1;
    alert(x.memb);
    }
    }
    var age = new Number(2);
    var bar1 = foo(age); // bar1 现在是个闭包了
    bar1(10); // alert 15 1
    bar1(10); // alert 16 2
    bar1(10); // alert 17 3
    
    var bar2 = foo(age); // bar2 现在也是个闭包了
    bar2(10); // alert ? ?
    bar2(10); // alert ? ?
    bar2(10); // alert ? ?
    
    bar1(10); // alert ? ?
    bar1(10); // alert ? ?
    bar1(10); // alert ? ?

</script>
</html>